package com.enjoyor.soa.traffic.api.service.dubbo.idcs;

import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.List;
import java.util.Map;

public interface DubboReportRegion5minService {

    /**
     * 获取5分钟各区域过车统计和报警统计（包括五分钟分段统计和累计统计） map参数：
     * startTime：开始时间（字符串，不为空，格式“yyyy-mm-dd HH:mi:ss”）
     * endTime：结束时间（字符串，不为空，格式“yyyy-mm-dd HH:mi:ss”） regionId：区域编号（字符串，可为空）
     * 备注：结束时间为空时使用默认统计今天数据
     * 
     * @return pass_total 过车累计总量 pass_num 五分钟过车量 control_total 报警累计总量
     *         control_num 五分钟报警数量 end_time 五分钟统计的结束时间 region_id 所属区域编号
     *         region_name 所属区域名称 排序： region_id（所属区域编号）， end_time（时间）
     */
    public List<Map<String, Object>> statPass5MinByRegion(Map<String, Object> map);

    /**
     * 获取15分钟各区域过车统计和报警统计（包括分段统计和累计统计） map参数：
     * startTime：开始时间（字符串，不为空，格式“yyyy-mm-dd HH:mi:ss”）
     * endTime：结束时间（字符串，不为空，格式“yyyy-mm-dd HH:mi:ss”） regionId：区域编号（字符串，可为空）
     * 备注：结束时间为空时使用默认统计今天数据
     * 
     * @return pass_total 过车累计总量 pass_num 十五分钟过车量 control_total 报警累计总量
     *         control_num 十五分钟报警数量 end_time 十五分钟统计的结束时间 region_id 所属区域编号
     *         region_name 所属区域名称 排序： region_id（所属区域编号）， end_time（时间）
     */
    public List<Map<String, Object>> statPass30MinByRegion(Map<String, Object> map);

    /**
     * 获取一段时间内各区域过车总数和报警总数 map参数： startTime：开始时间（字符串，不为空，格式“yyyy-mm-dd
     * HH:mi:ss”） endTime：结束时间（字符串，不为空，格式“yyyy-mm-dd HH:mi:ss”）
     * regionId：区域编号（字符串，可为空） 备注：结束时间为空时使用默认统计今天数据
     * 
     * @return pass_total 过车总量 control_total 报警总量 region_id 所属区域编号 region_name
     *         所属区域名称 排序： region_id（所属区域编号）
     */
    public List<Map<String, Object>> statPassAllByRegion(Map<String, Object> map);

    public ResultPojo getMaxTime();
    
}
